home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / program / 441 / dlibs12 / ctype.c < prev    next >
C/C++ Source or Header  |  1990-11-23  |  2KB  |  65 lines

  1. /*
  2.  *  CTYPE.C    Character classification and conversion
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include <ctype.h>
  7.  
  8. #undef    toupper
  9. #undef    tolower
  10.  
  11. unsigned char _ctype[128] =
  12.     {
  13.     _CTc, _CTc, _CTc, _CTc,                /* 0x00..0x03 */
  14.     _CTc, _CTc, _CTc, _CTc,                /* 0x04..0x07 */
  15.     _CTc, _CTc|_CTs, _CTc|_CTs, _CTc|_CTs,        /* 0x08..0x0B */
  16.     _CTc|_CTs, _CTc|_CTs, _CTc, _CTc,        /* 0x0C..0x0F */
  17.  
  18.     _CTc, _CTc, _CTc, _CTc,                /* 0x10..0x13 */
  19.     _CTc, _CTc, _CTc, _CTc,                /* 0x14..0x17 */
  20.     _CTc, _CTc, _CTc, _CTc,                /* 0x18..0x1B */
  21.     _CTc, _CTc, _CTc, _CTc,                /* 0x1C..0x1F */
  22.  
  23.     _CTs, _CTp, _CTp, _CTp,                /* 0x20..0x23 */
  24.     _CTp, _CTp, _CTp, _CTp,                /* 0x24..0x27 */
  25.     _CTp, _CTp, _CTp, _CTp,                /* 0x28..0x2B */
  26.     _CTp, _CTp, _CTp, _CTp,                /* 0x2C..0x2F */
  27.  
  28.     _CTd|_CTx, _CTd|_CTx, _CTd|_CTx, _CTd|_CTx,    /* 0x30..0x33 */
  29.     _CTd|_CTx, _CTd|_CTx, _CTd|_CTx, _CTd|_CTx,    /* 0x34..0x37 */
  30.     _CTd|_CTx, _CTd|_CTx, _CTp, _CTp,        /* 0x38..0x3B */
  31.     _CTp, _CTp, _CTp, _CTp,                /* 0x3C..0x3F */
  32.  
  33.     _CTp, _CTu|_CTx, _CTu|_CTx, _CTu|_CTx,        /* 0x40..0x43 */
  34.     _CTu|_CTx, _CTu|_CTx, _CTu|_CTx, _CTu,        /* 0x44..0x47 */
  35.     _CTu, _CTu, _CTu, _CTu,                /* 0x48..0x4B */
  36.     _CTu, _CTu, _CTu, _CTu,                /* 0x4C..0x4F */
  37.  
  38.     _CTu, _CTu, _CTu, _CTu,                /* 0x50..0x53 */
  39.     _CTu, _CTu, _CTu, _CTu,                /* 0x54..0x57 */
  40.     _CTu, _CTu, _CTu, _CTp,                /* 0x58..0x5B */
  41.     _CTp, _CTp, _CTp, _CTp,                /* 0x5C..0x5F */
  42.  
  43.     _CTp, _CTl|_CTx, _CTl|_CTx, _CTl|_CTx,        /* 0x60..0x63 */
  44.     _CTl|_CTx, _CTl|_CTx, _CTl|_CTx, _CTl,        /* 0x64..0x67 */
  45.     _CTl, _CTl, _CTl, _CTl,                /* 0x68..0x6B */
  46.     _CTl, _CTl, _CTl, _CTl,                /* 0x6C..0x6F */
  47.  
  48.     _CTl, _CTl, _CTl, _CTl,                /* 0x70..0x73 */
  49.     _CTl, _CTl, _CTl, _CTl,                /* 0x74..0x77 */
  50.     _CTl, _CTl, _CTl, _CTp,                /* 0x78..0x7B */
  51.     _CTp, _CTp, _CTp, _CTc                /* 0x7C..0x7F */
  52.     };
  53.  
  54. int toupper(c)
  55.     int c;
  56.     {
  57.     return(islower(c) ? (c ^ 0x20) : (c));
  58.     }
  59.  
  60. int tolower(c)
  61.     int c;
  62.     {
  63.     return(isupper(c) ? (c ^ 0x20) : (c));
  64.     }
  65.